

//class mine
//{
//public:
//	mine()
//	{
//
//	}
//
//	void push(int val)
//	{
//		_st.push(val);
//
//		if (_minst.empty() || val < _minst.top())
//		{
//			_minst.push(val);
//		}
//	}
//
//	void pop()
//	{
//		if (_st.top() == _minst.top())
//		{
//			_minst.pop();
//		}
//
//		_st.pop();
//	}
//
//	int top()
//	{
//		return _st.top();
//	}
//
//	int GetMinst()
//	{
//		return _minst.top();
//	}
//
//private:
//	stack<int> _st;
//	stack<int> _minst;
//};

//class Solution
//{
//public:
//	vector<vector<int>> levelOrder(TreeNode* root)
//	{
//		vector<vector<int>> vv;
//		queue<TreeNode*> q;
//		int levelSize = 0;
//
//		if (root)
//		{
//			q.push(root);
//			levelSize = 1;
//		}
//
//		while (!q.empty())
//		{
//			vector<int> v;
//			while (levelSize--)
//			{
//				TreeNode* front = q.front();
//				q.pop();
//				v.push_back(front->val);
//
//				if (front->left)
//					q.push(front->left);
//
//				if (front->right)
//					q.push(front->right);
//			}
//			
//			vv.push_back(v);
//
//			levelSize = q.size();
//		}
//
//		return vv;
//	}
//
//};

#include "stack.h"
#include "queue.h"

int main()
{
	mine::test_stack();
	my::test_priority_queue();

	return 0;
}




































